package jdbc;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class Demo11 {
    public static void main(String[] args) {
        try(Connection connection = DBUtil.getConnection()){
            //如果需要自行控制事务，需要通过Connection将自动提交事物关闭，默认自动提交事物是开启的
            //而且该方法相当于执行了BEGIN；（开启一个事务）
            connection.setAutoCommit(false);

            String sql = "DELETE FROM user WHERE id=?";
            PreparedStatement preparedStatement = connection.prepareStatement(sql);
            preparedStatement.setInt(1,2);
            int num = preparedStatement.executeUpdate();
            System.out.println(num>0?"删除成功":"删除失败");

//            connection.rollback();
//            System.out.println("事务回滚了!");

            connection.commit();//事务提交，意味着上面的DELECT操作真正处理了
            System.out.println("事务提交了!");
        }catch (SQLException e){
            e.printStackTrace();
        }
    }
}
